document.addEventListener('DOMContentLoaded', function () {
    const BASE_URL = ''; // 您的后端服务地址
    const tableBody = document.querySelector('.main .card table tbody'); // 更精确地选择tbody

    if (!tableBody) {
        console.error('Table body not found!');
        return;
    }

    // 鉴权
    const token = localStorage.getItem('token');
    const headers = {
        'Content-Type': 'application/json'
    };
    if (token) {
        headers['Authorization'] = 'Bearer ' + token;
    }

    async function fetchData(url) {
        try {
            const response = await fetch(url, { headers });
            if (!response.ok) {
                throw new Error(`HTTP error! status: ${response.status} ${response.statusText}`);
            }
            const result = await response.json();
            
            // 检查后端是否直接返回了数组
            if (Array.isArray(result)) {
                return result;
            }

            // 检查后端是否返回了 { code: 1, data: [...] } 格式
            if (result.code === 1 && Array.isArray(result.data)) {
                return result.data;
            }
            
            // 如果两种格式都不是，则数据无效
            console.warn('API Warning: Response is not in a recognized format', result);
            return [];
            
        } catch (error) {
            console.error('Failed to fetch data:', error);
            return []; // 返回空数组
        }
    }

    function renderTable(salesData) {
        // 清空现有的表格行 (除了表头)
        tableBody.innerHTML = '';

        if (!salesData || salesData.length === 0) {
            const row = tableBody.insertRow();
            const cell = row.insertCell();
            cell.colSpan = 7; // 根据您表格的列数调整
            cell.textContent = '暂无销售数据';
            cell.style.textAlign = 'center';
            return;
        }
        
        // 假设 sale_information 表有以下字段：
        // id, datetime, product_name, quantity, unit_price, total_price, cashier_name
        salesData.forEach(sale => {
            const row = tableBody.insertRow();
            // 使用与您数据库列名完全匹配的字段
            const unit_price = (sale.amount && sale.total_price) ? (sale.total_price / sale.amount) : 0;

            row.insertCell().textContent = sale.id ?? 'N/A';
            row.insertCell().textContent = sale.date ? new Date(sale.date).toLocaleString() : 'N/A'; // 使用 sale.date
            row.insertCell().textContent = sale.name ?? '未知商品'; // 使用 sale.name
            row.insertCell().textContent = sale.amount ?? 0; // 使用 sale.amount
            row.insertCell().textContent = `¥${unit_price.toFixed(2)}`; // 动态计算单价
            row.insertCell().textContent = `¥${(sale.total_price ?? 0).toFixed(2)}`;
            row.insertCell().textContent = sale.cashier ?? 'N/A'; // 使用 sale.cashier
        });
    }

    async function init() {
        // 恢复到最原始稳定的版本：获取并显示所有销售数据
        const salesData = await fetchData(`${BASE_URL}/api/sale_getall`);
        renderTable(salesData);
    }

    init();
}); 